package xin.marcher.module.comment.api;

import xin.marcher.module.comment.domain.dto.AdditionalSkuCommentResultDTO;
import xin.marcher.module.comment.domain.dto.AuditResultDTO;
import xin.marcher.module.comment.domain.dto.CommentResultDTO;
import xin.marcher.module.comment.domain.dto.SkuCommentDTO;
import xin.marcher.module.comment.domain.request.*;
import xin.marcher.module.common.core.JsonResult;
import xin.marcher.module.common.core.PageResult;

/**
 * 商品评价Api
 */
public interface SkuCommentApi {

    /**
     * 商品评价接口
     */
    JsonResult<CommentResultDTO> saveComment(SkuCommentRequest request);

    /**
     * 商品追评接口
     */
    JsonResult<AdditionalSkuCommentResultDTO> saveAdditionalComment(SkuAddtionalCommentRequst request);

    /**
     * 查询用户的商品评价列表接口
     */
    JsonResult<PageResult<SkuCommentDTO>> listUserCommentPage(QueryUserCommentPageRequest request);

    /**
     * 查询商品的商品评价列表接口
     */
    JsonResult<PageResult<SkuCommentDTO>> listSkuCommentPage(QuerySkuCommentPageRequest request);

    /**
     * 审核初评和追评
     */
    JsonResult<AuditResultDTO> auditComment(AuditCommentRequest request);

}


